package com.linzelin.easy;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.linzelin.ExcelTest;

import java.util.ArrayList;
import java.util.List;

public class ExcelUtils extends AnalysisEventListener<ExcelTest> {

    List<ExcelTest> list = new ArrayList<ExcelTest>();
    /**
     * 假设这个是一个DAO，当然有业务逻辑这个也可以是一个service。当然如果不用存储这个对象没用。
     */
    //这里的dao就是一个基本的数据库交互操作
    public ExcelUtils() {
    }

    /**
     * 这个每一条数据解析都会来调用
     *
     * @param data
     *
     * @param context
     */
    //具体读取到的数据是会被invoke这个方法读取到,然后保存在list集合里面的
    @Override
    public void invoke(ExcelTest data, AnalysisContext context) {
        System.out.println(data);
       /* if(data!=null){
            switch(data.getQuestionType()){
                case 1 : if(data.getAnswer().length()!=1){
                    return;
                }
                    questionMapper.insertChoice(data);
                    break;
                case 2 :
                    questionMapper.insertFill(data);
                    break;
                case 3 :
                    questionMapper.insertShortAnswer(data);
                    break;
            }
        }*/
    }

    /**
     * 所有数据解析完成了 都会来调用
     *
     * @param context
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 这里也要保存数据，确保最后遗留的数据也存储到数据库
    }


}
